package Module_1;

import java.util.Random;

public class Monopoly {

	/**
	 * Die vereinfachte Variante des Spiels Monopoly. Das Spiel hat 40 Felder,
	 * diese werden per Zufall mit den Werten 0-5 gefuellt.
	 * 
	 * Die Funktion berechne_miete ueberprueft die Anzahl der Haeuser auf dem
	 * gewuenschten Feld und gibt die entsprechende Meldung aus.
	 * 
	 * Random generator = new Random(); // Zufallsgenerator initialisieren
	 * 
	 * generator.nextInt(6); // Ganzzahliger wert bis 5
	 */
	
	static int[] haeuser = new int[40];

	public static void main(String[] args) {
		// Variablen Deklaration
		final int feld = 10; // Feld waehlen
		final int miete = 128; // Mietpreis

		// Random initialisieren
		Random generator = new Random();

		// Array Haeuser fuellen mit 0-5
		for (int i = 0; i < haeuser.length; i++) {
			haeuser[i] = generator.nextInt(6);
		}
		
		System.out.println("Sie zahlen: " + new Monopoly().berechne_miete(feld, miete)
				+ " Miete");

	}
	
	/**
	 * Die entsprechende Ausgabe und berechnung des Mietwertes
	 * 
	 * @param feld
	 * @param miete
	 * @return berechnete Miete
	 */
	private float berechne_miete(int feld, int miete) {

		// Variable deklarieren
		float zuschlag = 1.f;

		switch (haeuser[feld]) {
		case 0:
			System.out.println("Sie zahlen die normale Miete");
			break;

		case 1:
			System.out
					.println("Das Feld ist mit einem Haus bebaut. Sie zahlen 5% mehr Miete");
			zuschlag = 1.05f; // Prozent
			break;

		case 2:
			System.out.println("Zwei Haeuser machen 10% mehr Miete");
			zuschlag = 1.1f; // Prozent
			break;

		case 3:
			System.out
					.println("Oha. Die drei Haeuser schlagen mit 15% zusaetzlicher Miete zu Buche");
			zuschlag = 1.15f; // Prozent
			break;

		case 4:
			System.out
					.println("Die maximale Anzahl an Haeusern kostet sie 50% zusaetzliche Miete");
			zuschlag = 1.50f; // Prozent
			break;

		case 5:
			System.out
					.println("Jetzt wird's teuer! Ein Hotel sorgt fuer 75% Mietaufschlag");
			zuschlag = 1.75f; // Prozent
			break;

		default:
			System.out
					.println("Falsche Zahl bei Zufallszahl berechnung angegeben");
			break;
		}
		return (int) Math.round(miete * zuschlag);
	}

}
